home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C64
/
T-TPUG Old Monthly Disks
/
(c)t8.d64
/
attendance.c
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-02-04
|
4KB
|
146 lines
10 POKE53281,12:POKE53280,12:PRINTCHR$(8)CHR$(5)CHR$(14):Z$=CHR$(0):OPEN15,8,15
20 PRINT"[147] [193][212][212][197][206][196][193][206][195][197][146] [210][197][195][207][210][196][211]
30 [153]" (null)OM (null)ICHARDSON
40 PRINT" [196]ANA [195]OLLEGE
50 [153]" (null)CTOBER 1983
70 BYTE=0:BIT=0:TE=0:SF=0:K=0:TM=0:KK=0 :A=0:SU=0:V=0:VV=0:NS=0:I=0:J=0:D=0
80 P$(0)="ABSENT[146] :":P$(1)="PRESENT :" :SS=0:DAY=0
90 DIM DA$(64),A(50,64),SN$(50)
100 PRINT"[147][193][212][212][197][206][196][193][206][195][197][160][210][197][195][207][210][196][211]
110 [153]" PRESS A LETTER . . .
120 PRINT" A. CREATE A NEW FILE
130 [153]" B. WORK AN EXISTING FILE
135 PRINT" C. TERMINATE RUN
140 GS$[178]"ABC":[141]9000:[139]V[178]3[167][128]
145 VV[178]V
150 [153]"ENTER NAME OF FILE";
160 [133]"*CMDCMDCMD";F$:[139]F$[178]"*"[167][128]
170 F$[178][200](F$,15)
180 [153]"VERIFY NAME: "F$"WAIT: YWAIT/N"
190 GS$[178]"YN":[141]9000:[139]V[178]2[167]150
200 [159]7,8,7,"0:N"[170]F$[170]",S,R"
220 [141]10000:[139]A[178]62[167][160]7:[137]150
230 [161]#7,NS$:NS[178][198](NS$[170]Z$)
240 [139]NS[178]0[167][160]7:[153]"BAD FILE":[137]150
250 [129]I[178]1[164]NS:[132]7,SN$(I):[130]I
260 [160]7:[139]VV[178]1[167]1700
1000 [143] ATTENDANCE
1010 [153]"LOAD ATN(null)(null)VAL(null)STR$ATN(null)LENVALCLOSE(null)VALLEN(null)(null)STR$(null) FOR "F$
1020 [153]" LOADING DATA--PLEASE STAND BY
1030 OPEN8,8,8,"0:A"+F$+",S,R":GOSUB10000:IFA=62THENCLOSE8:GOTO1700
1040 FORI=1TONS:FORJ=0TO7:GET#8,A$:A(I,J)=ASC(A$+Z$):NEXTJ:NEXTI
1050 GET#8,D$:D=ASC(D$+Z$)
1060 FORI=1TOD:INPUT#8,DA$(I):NEXTI:D=D-1
1070 CLOSE8
1100 PRINT"[147] [193][212][212][197][206][196][193][206][195][197][160][210][197][195][207][210][196][211][160]FOR";F$
1110 PRINT" PRESS A LETTER
1130 [153]" A. UPDATE (EXTEND) DATA"
1140 [153]" B. INSPECT/CORRECT AN ENTRY"
1150 [153]" C. A DIFFERENT FILE
1160 PRINT" D. TERMINATE"
1170 GS$="ABCD":GOSUB9000
1180 ONVGOTO3000,5000,7000,7000
1200 PRINT"[147][193][212][212][197][206][196][193][206][195][197][160][210][197][195][207][210][196][211][160]FOR "F$
1210 PRINT" SAVING DATA--PLEASE STAND BY
1220 [152]15,"S0:ATT.BACKUP"
1230 [152]15,"R0:ATT.BACKUP=A"[170]F$
1240 [152]15,"S0:A"[170]F$
1250 [159]8,8,8,"0:A"[170]F$[170]",S,W"
1260 [129]I[178]1[164]NS:[129]J[178]0[164]7:[152]8,[199](A(I,J));:[130]J:[130]I
1270 [152]8,[199](D[170]1);
1280 [129]I[178]1[164]D:[152]8,DA$(I):[130]I
1290 [152]8,"MARKER"
1300 [160]8:[139]SF[178]0[167][142]
1310 [153]" PEEKACKUP COPY? YWAIT/N
1320 GS$="YN":GOSUB9000:SF=0 :IFV=2THEN1300
1330 PRINT"[201]NSERT SECOND DISK AND PRESS RETURN"
1340 GS$=CHR$(13):GOSUB9000:GOTO1220
1700 REM SETUP ATTENDANCE
1710 OPEN8,8,8,"0:A"+F$+",S,W":GOSUB10000:IFA=63THENCLOSE8:GOTO1000
1720 FORI=1TONS:FORJ=0TO7:PRINT#8,CHR$(0);:NEXTJ:NEXTI
1730 PRINT#8,CHR$(1);
1740 PRINT#8,"MARKER"
1750 CLOSE8:GOTO1000
2000 REM STRING SEARCH--NAMES
2010 SS=LEN(SS$):FORI=1TONS
2020 FORJ=1TO(LEN(SN$(I))-SS+1)
2030 IF SS$=MID$(SN$(I),J,SS)THENRETURN
2040 NEXTJ:NEXTI:I=0:RETURN
2100 REM STRING SEARCH--DATES
2110 SS=LEN(SS$):FORI=1TOD
2120 FORJ=1TO(LEN(DA$(I))-SS+1)
2130 IF SS$=MID$(DA$(I),J,SS)THENRETURN
2140 NEXTJ:NEXTI:I=0:RETURN
3000 REM UPDATE RECORDS
3010 PRINT"[147] [193][212][212][197][206][196][193][206][195][197][160][210][197][195][207][210][196][211][160]FOR ";F$
3020 PRINT"LAST RECORD WAS #"D"[157], "DA$(D):D=D+1
3030 PRINT"[197]NTER DATE OF NEW RECORD #"D;:INPUT" [157] *[157][157][157]";DA$(D)
3100 DAY=D
3110 BYTE=INT((DAY-1)/8)
3120 BIT=DAY-BYTE*8-1:TE=2^BIT
3130 PRINT"[147][210][197][195][207][210][196] [208][210][197][211][197][206][195][197] ON "DA$(D)
3140 GS$="AP":PRINT"PRESS A[146] IF THE STUDENT WAS ABSENT,
3150 [153]" PRESS PWAIT IF HE WAS PRESENT
3160 FORI=1TONS
3170 :IFLEFT$(SN$(I),4)="DROP"THEN3210
3180 :PRINT" "SN$(I)" "
3190 :GOSUB9000:IFV=1THEN3210
3200 :A(I,BYTE)=(A(I,BYTE)ORTE)
3210 :NEXT
3220 SF=1:GOTO1100
5000 REM CORRECT AN ENTRY
5010 PRINT"[147][193][212][212][197][206][196][193][206][195][197][160][201][206][211][208][197][195][212][201][207][206]/[195][207][210][210][197][195][212][201][207][206][160]FOR ":PRINT" "F$
5020 PRINT" DO IT BY S[146]TUDENT
5030 [153]" OR BY DWAITATE?
5040 GS$="SD":GOSUB9000:ONVGOTO5100,5700
5100 INPUT"NAME OF STUDENT [157] *[157][157][157]";SS$
5120 IFSS$="*"THEN1100
5130 GOSUB2000
5140 IFI=0THENPRINT"NO SUCH STUDENT":GOTO5100
5400 PRINT"[147]RECORD OF "SN$(I)"
5405 [153]"PRESS XWAIT IF BAD," :GS$[178]"X"[170][199](13):SU[178]0
5410 [153]" PRESS RETURNWAIT IF OK"
5420 [129]J[178]1[164]D
5430 DAY[178]J
5440 BYTE[178][181]((DAY[171]1)[173]8):TM[178]A(I,BYTE)
5450 BIT[178]DAY[171]BYTE[172]8[171]1:TE[178]2[174]BIT
5460 K[178](TM[175]TE)[173]TE:SU[178]SU[170]K
5470 [153]""P$(K)DA$(J)" "
5480 [141]9000:[139]V[178]2[167]5520
5490 [139]K[178]0[167]TM[178]TM[170]TE
5500 [139]K[178]1[167]TM[178]TM[171]TE
5510 A(I,BYTE)[178]TM:SF[178]1
5520 [130]
5530 [153]""SU"TIMES PRESENT OUT OF"D"SESSIONS":[141]8990
5540 [137]5000
5700 [133]"DESIRED DATE CMD *CMDCMDCMD";SS$
5720 [139]SS$[178]"*"[167]1100
5730 [141]2100
5740 [139]I[178]0[167][153]"NO SUCH DATE":[137]5700
5800 DAY[178]I:SU[178]0
5810 BYTE[178][181]((DAY[171]1)[173]8)
5820 BIT[178]DAY[171]BYTE[172]8[171]1:TE[178]2[174]BIT
5830 [153]"LOADRECORD OF "DA$(I)". (null)RESS XWAIT IF BAD,":GS$[178]"X"[170][199](13)
5840 [153]" PRESS RETURNWAIT IF OK"
5850 [129]KK[178]1[164]NS
5855 [139][200](SN$(KK),4)[178]"DROP"[167]5920
5860 TM[178]A(KK,BYTE):K[178](TM[175]TE)[173]TE:SU[178]SU[170]K
5870 [153]""P$(K)SN$(KK)" CLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSECLOSE"
5880 [141]9000:[139]V[178]2[167]5920
5890 [139]K[178]0[167]TM[178]TM[170]TE
5900 [139]K[178]1[167]TM[178]TM[171]TE
5910 A(KK,BYTE)[178]TM:SF[178]1
5920 [130]
5930 [153]""SU"PRESENT FOR THIS SESSION":[141]8990
5940 [137]5000
7000 [143] NEW FILE, TERMINATE
7010 [139]SF[179][177]0[167][141]1200
7020 [139]V[178]3[167]100
7030 [128]
8990 [153]"PRESS RETURNWAIT TO CONTINUE":GS$[178][199](13)
9000 [161]G$:[129]V[178]1[164][195](GS$):[139]G$[178][202](GS$,V,1)[167][142]
9010 [130]V:[137]9000
10000 [132]15,A,A$:[139]A[179][178]1[167][142]
10010 [153]A$:[139]A[178]62[176]A[178]63[167][142]
10020 [144]